package com.neutech.entity;

import com.mybatisflex.annotation.Table;
import com.neutech.core.BaseEntity;
import java.io.Serializable;
import java.sql.Date;
import java.sql.Time;

import java.io.Serial;
import java.time.LocalDate;
import java.time.LocalTime;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.EqualsAndHashCode;

/**
 * 作业 实体类。
 *
 * @author Administrator
 * @since 2025-04-30
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
@Schema(description = "作业")
@Table("home_work")
public class HomeWork extends BaseEntity implements Serializable {

    @Serial
    private static final long serialVersionUID = 1L;

    /**
     * 班级id
     */
    @Schema(description = "班级id", type = "Integer")
    private Integer gradeId;

    /**
     * 作业名称
     */
    @Schema(description = "作业名称", type = "String")
    private String name;

    /**
     * 关键词
     */
    @Schema(description = "关键词", type = "String")
    private String keywords;

    /**
     * 创建日期
     */
    @Schema(description = "创建日期", type = "Date")
    private LocalDate createDate;

    /**
     * 创建时间
     */
    @Schema(description = "创建时间", type = "Time")
    private LocalTime createTime;

    @Schema(description = "人数", type = "Integer")
    private Integer count;

    @Schema(description = "提交人数", type = "Integer")
    private Integer commitCount;

    /**
     * 作业类型 1-视频,2-音频
     */
    @Schema(description = "作业类型 1-视频,2-音频", type = "Integer")
    private Integer type;

    /**
     * 格式
     */
    @Schema(description = "格式", type = "String")
    private String format;

    /**
     * 备注
     */
    @Schema(description = "备注", type = "String")
    private String remark;

    /**
     * 状态
     */
    @Schema(description = "状态", type = "Boolean")
    private Boolean active;

}
